<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>

    <script>

        (function (a) {
            console.log(a); // 100
            var a = 10;
            console.log(a);
        })(100);
        /*
        用 var 声明的变量 会在当前作用域 提前声明变量名， 赋值操作带代码 赋值的地方执行赋值（注意 var声明的变量 赋值操作不会 提前， 仅仅把名字提前）
        用 function 声明的函数（函数式声明的函数） 会将整个函数体 提升在 当前作用域的前面， 调用的位置不会 提前（调用在哪一行，就是执行到这行代码的时候再去调用函数）
        */ 


    </script>
</body>

</html>